<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <button-counter></button-counter>

        <h2>我是局部组件</h2>
        <component-a></component-a>
    </div>
    <script src="./vue.js"></script>
    <script>
        // 定义一个名为 button-counter 的新组件
        // 1. 先注册组件
        // Vue.component 是一个全局组件
        Vue.component('button-counter', {
            data () {
                return {
                    count: 0
                }
            },
            template: '<button v-on:click="count++">You clicked me {{ count }} times.</button>'
        })

        
        // 2。 局部注册组件
        const componentA = {
            data(){
                return {
                    num:100
                }
            },
            // 当前这个组件的结构 tempalte中只有一个根标签
            template: `
            <div>
                <button-counter></button-counter>
                <button @click=num++>{{ num }}</button>
            </div>

            `
        }

        // 组件：组件就是页面上的一个部分，一个模块
        // 可以包含 html / js / css
        const vm = new Vue({
            el:'#app',
            data(){
                return {
                    count:100,
                    msg:'我是msg',
                }
            },
            components:{
                // components 左边的key就是我们要使用的组件名
                'component-a': componentA
            }
        })



    </script>
</body>
</html>